package com.empire.module.member.controller.admin.warningindividual.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 非聚集预警记录表（1条记录对应1个人的1次预警）新增/修改 Request VO")
@Data
public class WarningIndividualSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14478")
    private Long id;

    @Schema(description = "人员ID（关联person.id）", requiredMode = Schema.RequiredMode.REQUIRED, example = "29708")
    @NotNull(message = "人员ID（关联person.id）不能为空")
    private Long personId;

    @Schema(description = "预警条件ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18947")
    @NotNull(message = "预警条件ID不能为空")
    private String warningConditionId;

    @Schema(description = "预警时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "预警时间不能为空")
    private LocalDateTime warningTime;

    @Schema(description = "预警内容", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "预警内容不能为空")
    private String warningContent;

    @Schema(description = "预警类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer warnType;

    @Schema(description = "围栏类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer fenceType;

    @Schema(description = "经度（范围：-180~180）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double lng;

    @Schema(description = "纬度（范围：-90~90）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double lat;

}